gdkwindow: Use an InputOnly window for focus_window
authorJasper St. Pierre <jstpierre@mecheye.net>
Fri, 31 Jan 2014 16:13:29 +0000 (11:13 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Fri, 31 Jan 2014 19:23:47 +0000 (14:23 -0500)
For XWayland, this is somewhat important to prevent a dummy XWayland surface
being made for all clients that connect...

https://bugzilla.gnome.org/show_bug.cgi?id=723390

gdk/x11/gdkwindow-x11.c

index 3d5de3b8df3c63a3a44c94ecf5b3ccefbfb866b3..c8f04a6fa98c3c1d751f4631745f575b49da6647 100644 (file)
@@ -820,16 +820,18 @@ create_focus_window (GdkDisplay *display,
   GdkEventMask event_mask;
   Display *xdisplay;
   Window focus_window;
+  XWindowAttributes xwa;
 
   xdisplay = GDK_DISPLAY_XDISPLAY (display);
   display_x11 = GDK_X11_DISPLAY (display);
 
-  focus_window = XCreateSimpleWindow (xdisplay, parent,
-                                      -1, -1, 1, 1, 0,
-                                      0, 0);
+  focus_window = XCreateWindow (xdisplay, parent,
+                                -1, -1, 1, 1, 0,
+                                0, /* depth */
+                                InputOnly,
+                                CopyFromParent,
+                                0, &xwa);
 
-  /* FIXME: probably better to actually track the requested event mask for the toplevel
-   */
   event_mask = (GDK_KEY_PRESS_MASK |
                 GDK_KEY_RELEASE_MASK |
                 GDK_FOCUS_CHANGE_MASK);